// JavaScript Document
let flag1=0;
let flag2=0;
let flag3=0;
let flag4=0;
let flag5=0;
let flag6=0;
let flag7=0;
//获取元素
var  $nickname = $("#nickname");
//输出到控制台
// console.log($nickname);
function lock(){
	$("#reg").attr("disabled","disabled");
	$("#reg").css("background","#a2a3aa");
}
function unlock(){
	$("#reg").removeAttr("disabled");
	$("#reg").css("background","#47aa34");
}
//用户名验证
//失去焦点事件
$("#nickname").blur (function(){
	//获取用户输入的用户名
	var nickname = $("#nickname").val();
	// console.log(nickname);
	//判断用户名的格式
	if(nickname == '' ){
		// console.log("用户不能为空");
		//给当前对象的下一个标签设值
		$(this).next().html("用户不能为空");
		//未设值前该标签是隐藏的  此时就必须显示来
		$(this).next().show();
		flag1=0;
	}
	//正则表达式
	//创建一个规则
	var reg = /^\w{2,15}$/;
	//判断
	/*
    var flag = reg.test(nickname);
    console.log(flag);
    */
	if( !reg.test(nickname)){
		//给当前对象的下一个标签设值
		$(this).next().html("用户名必须是2-15位的英文或数字");
		//未设值前该标签是隐藏的  此时就必须显示来
		$(this).next().show();
		flag1=0;
	}else{
		flag1=1;
	}
});

//聚焦事件
$("#nickname").focus(function(){
	//隐藏
	$(this).next().hide();
})


//密码验证
//失焦事件
$("#pwd").blur(function(){
	check_pwd();
});

//聚焦事件
$("#pwd").focus(function(){
	$(this).next().hide();
});

function check_pwd(){
	//获取密码
	var pwd = $("#pwd").val();
	//规则
	var reg = /^[\w@!#$%^&*~]{3,15}$/;
	//判断
	if(!reg.test(pwd)){
		$("#pwd").next().html("密码不符合规范");
		$("#pwd").next().show();
		flag2=0;
	}else{
		flag2=1;
	}
}

//确认密码验证
//失焦事件
$("#cpwd").blur(function(){
	check_cpwd();
});

//聚焦事件
$("#cpwd").focus(function(){
	$(this).next().hide();
});

function check_cpwd(){
	//获取原密码
	var pwd = $("#pwd").val();
	//获取再次输入的密码
	var cpwd = $("#cpwd").val();

	//判断
	if(cpwd == ''){
		$("#cpwd").next().html("确认密码不能为空");
		$("#cpwd").next().show();
		flag3=0;
	}
	if(cpwd != pwd){
		$("#cpwd").next().html("两次输入的密码不一致");
		$("#cpwd").next().show();
		flag3=0;
	}else{
		flag3=1;
	}
}

//手机号码验证
//失焦事件
$("#tel").blur(function(){
	check_tel();
});

//聚焦事件
$("#tel").focus(function(){
	$("#tel").next().hide();
});

//邮箱验证
//失焦事件
$("#email").blur(function(){
	check_email();
});

//聚焦事件
$("#email").focus(function(){
	$("#email").next().next().hide();
});

function check_email() {
	//获取邮箱号码
	var email = $("#email").val();
	//规则
	var reg = /^[1-9][0-9]{4,10}(@qq.com)$/
	if( !reg.test(email)){
		$("#email").next().next().html("邮箱格式错误");
		$("#email").next().next().show();
		flag4=0;
	}else{
		flag4=1;
	}
}
function check_tel(){
	//获取电话号码
	var tel = $("#tel").val();
	//规则
	var reg = /^[1][3,4,5,7,8,9][0-9]{9}$/;

	if( !reg.test(tel)){
		$("#tel").next().html("手机号码格式错误");
		$("#tel").next().show();
		flag6=0;
	}else{
		flag6=1;
	}
}


//获取验证码
$("#getCode").click(function(){
	//获取电话号码
	// var tel = $("#tel").val();
	var email = $("#email").val();
	//非空判断
	if( email != ''){
		window.location.href= "http://www.baidu.com";
	}
	//请求方式  地址  参数  回调函数
	$.post("http://www.baidu.com",{tel:tel},function(data){
		if(dada == undefined){
			alert("验证码获取失败");
		}
	})

})


//协议
$("#allow").click(function(){
	//判断checkbox是否被选中
	if(!$(this).is(":checked")){
		$(this).next().next().html("您必须同意公司的协议");
		$(this).next().next().show();
		//给注册按钮设置禁用属性
		lock();
	}else{
		$(this).next().next().html("");
		$(this).next().next().hide();
		//移除注册按钮的禁用属性
		unlock();
	}
})

//注册
function checkRegister(){
	console.log("1"+flag1);
	console.log("2"+flag2);
	console.log("3"+flag3);
	console.log("4"+flag4);
	console.log("6"+flag6);

	// 定义Promise对象
	let postPromise = new Promise((resolve, reject) => {
		axios.post("member",
			qs.stringify({
				op : 'register',
				nickName: this.nickName,
				pwd : this.pwd,
				tel : this.tel,
				email : this.email,
				regDate : getTime()
				// yzm : this.yzm
			})
		).then(rs =>{
			resolve(rs.data); // 将rs.data传递到Promise中，使用resolve方法返回数据
		}).catch(err => {
			reject(err); // 使用reject方法处理错误信息
		});
	});

	postPromise.then(function (rs) { // 使用.then方法处理Promise返回结果
		if(rs === 1){
			alert("注册成功！");
			location.href="login.html";
		}else if(rs === 2){
			alert("验证码错误！");
		}else if(rs === 0){
			alert("注册失败！");
		}
	}).catch(err => {
		console.error(err); // 使用.catch方法处理Promise返回失败时的情况
	});

	// 省略部分代码
}
function getTime() {
	// 创建一个Date对象，并设置时间为2019-07-29 21:00:21
	var date = new Date();

// 获取年、月、日、小时、分钟和秒数
	var year = date.getFullYear();
	var month = ('0' + (date.getMonth() + 1)).slice(-2);
	var day = ('0' + date.getDate()).slice(-2);
	var hour = ('0' + date.getHours()).slice(-2);
	var minute = ('0' + date.getMinutes()).slice(-2);
	var second = ('0' + date.getSeconds()).slice(-2);

// 拼接日期时间字符串
	var dateTime = year + '-' + month + '-' + day + ' ' + hour + ':' + minute + ':' + second;
	return dateTime;
	// console.log(dateTime); // 输出：2019-07-29 21:00:21
}
